#define _CRT_SECURE_NO_WARNINGS 1
#include "Queue.h"
#include "BinaryTree.h"
void BinaryTreeTest()
{
	char str[] = "ABD##E#H##CF##G##";
	// char str[] = "ABD##E##CF##G##";
	int sz = sizeof(str) / sizeof(str[0]);
	int i = 0;
	BTNode* root = BinaryTreeCreate(str, sz, &i);

	printf("BinaryTreeLeafSize: %d\n", BinaryTreeLeafSize(root));
	printf("BinaryTreeLevelSize: %d\n", BinaryTreeLevelSize(root, 3));

	BTNode* ret = BinaryTreeFind(root, 'D');
	printf("ret = %p\n", ret);

	BinaryTreePrevOrder(root);
	printf("\n");

	BinaryTreeInOrder(root);
	printf("\n");

	BinaryTreePostOrder(root);
	printf("\n");

	BinaryTreeLevelOrder(root);
	printf("\n");

	printf("BinaryTreeComplete:%d", BinaryTreeComplete(root));
	printf("\n");

}

//void QueueTest()
//{
//	Queue q;
//	QueueInit(&q);
//	QueuePush(&q, 1);
//	QueuePush(&q, 2);
//	QueuePush(&q, 3);
//	QueuePush(&q, 4);
//	QueuePush(&q, 5);
//
//	while (!QueueEmpty(&q))
//	{
//		printf("%d ", QueueFront(&q));
//		QueuePop(&q);
//	}
//
//	QueueDestroy(&q);
//}



int main()
{
	BinaryTreeTest();
	//QueueTest();

	return 0;
}